<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta name="GENERATOR" content="PasDoc 0.9.0">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>ftpsend: Class TFTPSend</title>
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
<a name="TFTPSend"></a><h1 class="cio">Class TFTPSend</h1>
<table class="sections">
<tr>
<td><a class="section"  href="#@Description">Description</a></td><td><a class="section"  href="#@Hierarchy">Hierarchy</a></td><td><a class="section"  href="#@Fields">Fields</a></td><td><a class="section"  href="#@Methods">Methods</a></td><td><a class="section"  href="#@Properties">Properties</a></td></tr></table>
<a name="@Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a   href="ftpsend.html">ftpsend</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TFTPSend = class(<a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a>)</code></p>
<h2 class="description">Description</h2>
<p>
Implementation of FTP protocol.</p>
<p>
 Note: Are you missing properties for setting Username and Password? Look to parent <a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a> object! (Username and Password have default values for &quot;anonymous&quot; FTP login)

<p>Are you missing properties for specify server address and port? Look to parent <a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a> too!</p>
<a name="@Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObject</li>
<li class="ancestor"><a class="normal" href="blcksock.TSynaClient.html">TSynaClient</a></li>
<li class="thisitem">TFTPSend</li></ul><h2 class="overview">Overview</h2>
<a name="@Fields"></a><h3 class="summary">Fields</h3>
<table class="summary">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a   href="ftpsend.TFTPSend.html#CustomLogon">CustomLogon</a></b>: <a   href="ftpsend.html#TLogonActions">TLogonActions</a>;</code></td>
</tr>
</table>
<a name="@Methods"></a><h3 class="summary">Methods</h3>
<table class="summary">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>constructor <b><a   href="ftpsend.TFTPSend.html#Create">Create</a></b>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>destructor <b><a   href="ftpsend.TFTPSend.html#Destroy">Destroy</a></b>; override;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#ReadResult">ReadResult</a></b>: Integer; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a   href="ftpsend.TFTPSend.html#ParseRemote">ParseRemote</a></b>(Value: string); virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a   href="ftpsend.TFTPSend.html#ParseRemoteEPSV">ParseRemoteEPSV</a></b>(Value: string); virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#FTPCommand">FTPCommand</a></b>(const Value: string): integer; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#Login">Login</a></b>: Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#Logout">Logout</a></b>: Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a   href="ftpsend.TFTPSend.html#Abort">Abort</a></b>; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a   href="ftpsend.TFTPSend.html#TelnetAbort">TelnetAbort</a></b>; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#List">List</a></b>(Directory: string; NameList: Boolean): Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#RetrieveFile">RetrieveFile</a></b>(const FileName: string; Restore: Boolean): Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#StoreFile">StoreFile</a></b>(const FileName: string; Restore: Boolean): Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#StoreUniqueFile">StoreUniqueFile</a></b>: Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#AppendFile">AppendFile</a></b>(const FileName: string): Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#RenameFile">RenameFile</a></b>(const OldName, NewName: string): Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#DeleteFile">DeleteFile</a></b>(const FileName: string): Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#FileSize">FileSize</a></b>(const FileName: string): integer; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#NoOp">NoOp</a></b>: Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#ChangeWorkingDir">ChangeWorkingDir</a></b>(const Directory: string): Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#ChangeToParentDir">ChangeToParentDir</a></b>: Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#ChangeToRootDir">ChangeToRootDir</a></b>: Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#DeleteDir">DeleteDir</a></b>(const Directory: string): Boolean; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#CreateDir">CreateDir</a></b>(const Directory: string): Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#GetCurrentDir">GetCurrentDir</a></b>: String; virtual;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#DataRead">DataRead</a></b>(const DestStream: TStream): Boolean; virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a   href="ftpsend.TFTPSend.html#DataWrite">DataWrite</a></b>(const SourceStream: TStream): Boolean; virtual;</code></td>
</tr>
</table>
<a name="@Properties"></a><h3 class="summary">Properties</h3>
<table class="summary">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#ResultCode">ResultCode</a></b>: Integer read FResultCode;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#ResultString">ResultString</a></b>: string read FResultString;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FullResult">FullResult</a></b>: TStringList read FFullResult;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#Account">Account</a></b>: string read FAccount Write FAccount;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FWHost">FWHost</a></b>: string read FFWHost Write FFWHost;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FWPort">FWPort</a></b>: string read FFWPort Write FFWPort;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FWUsername">FWUsername</a></b>: string read FFWUsername Write FFWUsername;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FWPassword">FWPassword</a></b>: string read FFWPassword Write FFWPassword;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FWMode">FWMode</a></b>: integer read FFWMode Write FFWMode;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#Sock">Sock</a></b>: <a   href="blcksock.TTCPBlockSocket.html">TTCPBlockSocket</a> read FSock;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#DSock">DSock</a></b>: <a   href="blcksock.TTCPBlockSocket.html">TTCPBlockSocket</a> read FDSock;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#DataStream">DataStream</a></b>: TMemoryStream read FDataStream;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#DataIP">DataIP</a></b>: string read FDataIP;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#DataPort">DataPort</a></b>: string read FDataPort;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#DirectFile">DirectFile</a></b>: Boolean read FDirectFile Write FDirectFile;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#DirectFileName">DirectFileName</a></b>: string read FDirectFileName Write FDirectFileName;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#CanResume">CanResume</a></b>: Boolean read FCanResume;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#PassiveMode">PassiveMode</a></b>: Boolean read FPassiveMode Write FPassiveMode;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#ForceDefaultPort">ForceDefaultPort</a></b>: Boolean read FForceDefaultPort Write FForceDefaultPort;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#ForceOldPort">ForceOldPort</a></b>: Boolean read FForceOldPort Write FForceOldPort;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#OnStatus">OnStatus</a></b>: <a   href="ftpsend.html#TFTPStatus">TFTPStatus</a> read FOnStatus write FOnStatus;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FtpList">FtpList</a></b>: <a   href="ftpsend.TFTPList.html">TFTPList</a> read FFtpList;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#BinaryMode">BinaryMode</a></b>: Boolean read FBinaryMode Write FBinaryMode;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#AutoTLS">AutoTLS</a></b>: Boolean read FAutoTLS Write FAutoTLS;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#FullSSL">FullSSL</a></b>: Boolean read FFullSSL Write FFullSSL;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#IsTLS">IsTLS</a></b>: Boolean read FIsTLS;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#IsDataTLS">IsDataTLS</a></b>: Boolean read FIsDataTLS;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><code>property <b><a   href="ftpsend.TFTPSend.html#TLSonData">TLSonData</a></b>: Boolean read FTLSonData write FTLSonData;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Fields</h3>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="CustomLogon"></a><code><b>CustomLogon</b>: <a   href="ftpsend.html#TLogonActions">TLogonActions</a>;</code></td>
</tr>
</table>
<p>
Custom definition of login sequence. You can use this when you set <a class="normal" href="ftpsend.TFTPSend.html#FWMode">FWMode</a> to value -1.</p>
<h3 class="detail">Methods</h3>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Create"></a><code>constructor <b>Create</b>;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Destroy"></a><code>destructor <b>Destroy</b>; override;</code></td>
</tr>
</table>
&nbsp;<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ReadResult"></a><code>function <b>ReadResult</b>: Integer; virtual;</code></td>
</tr>
</table>
<p>
Waits and read FTP server response. You need this only in special cases!</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ParseRemote"></a><code>procedure <b>ParseRemote</b>(Value: string); virtual;</code></td>
</tr>
</table>
<p>
Parse remote side information of data channel from value string (returned by PASV command). This function you need only in special cases!</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ParseRemoteEPSV"></a><code>procedure <b>ParseRemoteEPSV</b>(Value: string); virtual;</code></td>
</tr>
</table>
<p>
Parse remote side information of data channel from value string (returned by EPSV command). This function you need only in special cases!</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="FTPCommand"></a><code>function <b>FTPCommand</b>(const Value: string): integer; virtual;</code></td>
</tr>
</table>
<p>
Send Value as FTP command to FTP server. Returned result code is result of this function. This command is good for sending site specific command, or non-standard commands.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Login"></a><code>function <b>Login</b>: Boolean; virtual;</code></td>
</tr>
</table>
<p>
Connect and logon to FTP server. If you specify any FireWall, connect to firewall and throw them connect to FTP server. Login sequence depending on <a class="normal" href="ftpsend.TFTPSend.html#FWMode">FWMode</a>.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Logout"></a><code>function <b>Logout</b>: Boolean; virtual;</code></td>
</tr>
</table>
<p>
Logoff and disconnect from FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Abort"></a><code>procedure <b>Abort</b>; virtual;</code></td>
</tr>
</table>
<p>
Break current transmission of data. (You can call this method from Sock.OnStatus event, or from another thread.)</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="TelnetAbort"></a><code>procedure <b>TelnetAbort</b>; virtual;</code></td>
</tr>
</table>
<p>
Break current transmission of data. It is same as Abort, but it send abort telnet commands prior ABOR FTP command. Some servers need it. (You can call this method from Sock.OnStatus event, or from another thread.)</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="List"></a><code>function <b>List</b>(Directory: string; NameList: Boolean): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Download directory listing of Directory on FTP server. If Directory is empty string, download listing of current working directory. If NameList is <code>True</code>, download only names of files in directory. (internally use NLST command instead LIST command) If NameList is <code>False</code>, returned list is also parsed to <a class="normal" href="ftpsend.TFTPSend.html#FtpList">FtpList</a> property.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="RetrieveFile"></a><code>function <b>RetrieveFile</b>(const FileName: string; Restore: Boolean): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Read data from FileName on FTP server. If Restore is <code>True</code> and server supports resume dowloads, download is resumed. (received is only rest of file)</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="StoreFile"></a><code>function <b>StoreFile</b>(const FileName: string; Restore: Boolean): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Send data to FileName on FTP server. If Restore is <code>True</code> and server supports resume upload, upload is resumed. (send only rest of file) In this case if remote file is same length as local file, nothing will be done. If remote file is larger then local, resume is disabled and file is transfered from begin!</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="StoreUniqueFile"></a><code>function <b>StoreUniqueFile</b>: Boolean; virtual;</code></td>
</tr>
</table>
<p>
Send data to FTP server and assing unique name for this file.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="AppendFile"></a><code>function <b>AppendFile</b>(const FileName: string): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Append data to FileName on FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="RenameFile"></a><code>function <b>RenameFile</b>(const OldName, NewName: string): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Rename on FTP server file with OldName to NewName.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="DeleteFile"></a><code>function <b>DeleteFile</b>(const FileName: string): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Delete file FileName on FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="FileSize"></a><code>function <b>FileSize</b>(const FileName: string): integer; virtual;</code></td>
</tr>
</table>
<p>
Return size of Filename file on FTP server. If command failed (i.e. not implemented), return -1.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="NoOp"></a><code>function <b>NoOp</b>: Boolean; virtual;</code></td>
</tr>
</table>
<p>
Send NOOP command to FTP server for preserve of disconnect by inactivity timeout.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ChangeWorkingDir"></a><code>function <b>ChangeWorkingDir</b>(const Directory: string): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Change currect working directory to Directory on FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ChangeToParentDir"></a><code>function <b>ChangeToParentDir</b>: Boolean; virtual;</code></td>
</tr>
</table>
<p>
walk to upper directory on FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ChangeToRootDir"></a><code>function <b>ChangeToRootDir</b>: Boolean; virtual;</code></td>
</tr>
</table>
<p>
walk to root directory on FTP server. (May not work with all servers properly!)</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="DeleteDir"></a><code>function <b>DeleteDir</b>(const Directory: string): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Delete Directory on FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="CreateDir"></a><code>function <b>CreateDir</b>(const Directory: string): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Create Directory on FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="GetCurrentDir"></a><code>function <b>GetCurrentDir</b>: String; virtual;</code></td>
</tr>
</table>
<p>
Return current working directory on FTP server.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="DataRead"></a><code>function <b>DataRead</b>(const DestStream: TStream): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Establish data channel to FTP server and retrieve data. This function you need only in special cases, i.e. when you need to implement some special unsupported FTP command!</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="DataWrite"></a><code>function <b>DataWrite</b>(const SourceStream: TStream): Boolean; virtual;</code></td>
</tr>
</table>
<p>
Establish data channel to FTP server and send data. This function you need only in special cases, i.e. when you need to implement some special unsupported FTP command.</p>
<h3 class="detail">Properties</h3>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="ResultCode"></a><code>property <b>ResultCode</b>: Integer read FResultCode;</code></td>
</tr>
</table>
<p>
After FTP command contains result number of this operation.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="ResultString"></a><code>property <b>ResultString</b>: string read FResultString;</code></td>
</tr>
</table>
<p>
After FTP command contains main line of result.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FullResult"></a><code>property <b>FullResult</b>: TStringList read FFullResult;</code></td>
</tr>
</table>
<p>
After any FTP command it contains all lines of FTP server reply.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="Account"></a><code>property <b>Account</b>: string read FAccount Write FAccount;</code></td>
</tr>
</table>
<p>
Account information used in some cases inside login sequence.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FWHost"></a><code>property <b>FWHost</b>: string read FFWHost Write FFWHost;</code></td>
</tr>
</table>
<p>
Address of firewall. If empty string (default), firewall not used.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FWPort"></a><code>property <b>FWPort</b>: string read FFWPort Write FFWPort;</code></td>
</tr>
</table>
<p>
port of firewall. standard value is same port as ftp server used. (21)</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FWUsername"></a><code>property <b>FWUsername</b>: string read FFWUsername Write FFWUsername;</code></td>
</tr>
</table>
<p>
Username for login to firewall. (if needed)</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FWPassword"></a><code>property <b>FWPassword</b>: string read FFWPassword Write FFWPassword;</code></td>
</tr>
</table>
<p>
password for login to firewall. (if needed)</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FWMode"></a><code>property <b>FWMode</b>: integer read FFWMode Write FFWMode;</code></td>
</tr>
</table>
<p>
Type of Firewall. Used only if you set some firewall address. Supported predefined firewall login sequences are described by comments in source file where you can see pseudocode decribing each sequence.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="Sock"></a><code>property <b>Sock</b>: <a   href="blcksock.TTCPBlockSocket.html">TTCPBlockSocket</a> read FSock;</code></td>
</tr>
</table>
<p>
Socket object used for TCP/IP operation on control channel. Good for seting OnStatus hook, etc.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="DSock"></a><code>property <b>DSock</b>: <a   href="blcksock.TTCPBlockSocket.html">TTCPBlockSocket</a> read FDSock;</code></td>
</tr>
</table>
<p>
Socket object used for TCP/IP operation on data channel. Good for seting OnStatus hook, etc.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="DataStream"></a><code>property <b>DataStream</b>: TMemoryStream read FDataStream;</code></td>
</tr>
</table>
<p>
If you not use <a class="normal" href="ftpsend.TFTPSend.html#DirectFile">DirectFile</a> mode, all data transfers is made to or from this stream.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="DataIP"></a><code>property <b>DataIP</b>: string read FDataIP;</code></td>
</tr>
</table>
<p>
After data connection is established, contains remote side IP of this connection.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="DataPort"></a><code>property <b>DataPort</b>: string read FDataPort;</code></td>
</tr>
</table>
<p>
After data connection is established, contains remote side port of this connection.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="DirectFile"></a><code>property <b>DirectFile</b>: Boolean read FDirectFile Write FDirectFile;</code></td>
</tr>
</table>
<p>
Mode of data handling by data connection. If <code>False</code>, all data operations are made to or from <a class="normal" href="ftpsend.TFTPSend.html#DataStream">DataStream</a> TMemoryStream. If <code>True</code>, data operations is made directly to file in your disk. (filename is specified by <a class="normal" href="ftpsend.TFTPSend.html#DirectFileName">DirectFileName</a> property.) Dafault is <code>False</code>!</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="DirectFileName"></a><code>property <b>DirectFileName</b>: string read FDirectFileName Write FDirectFileName;</code></td>
</tr>
</table>
<p>
Filename for direct disk data operations.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="CanResume"></a><code>property <b>CanResume</b>: Boolean read FCanResume;</code></td>
</tr>
</table>
<p>
Indicate after <a class="normal" href="ftpsend.TFTPSend.html#Login">Login</a> if remote server support resume downloads and uploads.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="PassiveMode"></a><code>property <b>PassiveMode</b>: Boolean read FPassiveMode Write FPassiveMode;</code></td>
</tr>
</table>
<p>
If true (default value), all transfers is made by passive method. It is safer method for various firewalls.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="ForceDefaultPort"></a><code>property <b>ForceDefaultPort</b>: Boolean read FForceDefaultPort Write FForceDefaultPort;</code></td>
</tr>
</table>
<p>
Force to listen for dataconnection on standard port (20). Default is <code>False</code>, dataconnections will be made to any non-standard port reported by PORT FTP command. This setting is not used, if you use passive mode.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="ForceOldPort"></a><code>property <b>ForceOldPort</b>: Boolean read FForceOldPort Write FForceOldPort;</code></td>
</tr>
</table>
<p>
When is <code>True</code>, then is disabled EPSV and EPRT support. However without this commands you cannot use IPv6! (Disabling of this commands is needed only when you are behind some crap firewall/NAT.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="OnStatus"></a><code>property <b>OnStatus</b>: <a   href="ftpsend.html#TFTPStatus">TFTPStatus</a> read FOnStatus write FOnStatus;</code></td>
</tr>
</table>
<p>
You may set this hook for monitoring FTP commands and replies.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FtpList"></a><code>property <b>FtpList</b>: <a   href="ftpsend.TFTPList.html">TFTPList</a> read FFtpList;</code></td>
</tr>
</table>
<p>
After LIST command is here parsed list of files in given directory.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="BinaryMode"></a><code>property <b>BinaryMode</b>: Boolean read FBinaryMode Write FBinaryMode;</code></td>
</tr>
</table>
<p>
if <code>True</code> (default), then data transfers is in binary mode. If this is set to <code>False</code>, then ASCII mode is used.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="AutoTLS"></a><code>property <b>AutoTLS</b>: Boolean read FAutoTLS Write FAutoTLS;</code></td>
</tr>
</table>
<p>
if is true, then if server support upgrade to SSL/TLS mode, then use them.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="FullSSL"></a><code>property <b>FullSSL</b>: Boolean read FFullSSL Write FFullSSL;</code></td>
</tr>
</table>
<p>
if server listen on SSL/TLS port, then you set this to true.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="IsTLS"></a><code>property <b>IsTLS</b>: Boolean read FIsTLS;</code></td>
</tr>
</table>
<p>
Signalise, if control channel is in SSL/TLS mode.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="IsDataTLS"></a><code>property <b>IsDataTLS</b>: Boolean read FIsDataTLS;</code></td>
</tr>
</table>
<p>
Signalise, if data transfers is in SSL/TLS mode.</p>
<table class="detail">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="published.gif" alt="Published" title="Published"></a></td>
<td class="itemcode"><a name="TLSonData"></a><code>property <b>TLSonData</b>: Boolean read FTLSonData write FTLSonData;</code></td>
</tr>
</table>
<p>
If <code>True</code> (default), then try to use SSL/TLS on data transfers too. If <code>False</code>, then SSL/TLS is used only for control connection.</p>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.9.0</a> on 2007-12-20 22:45:43</em>
</span>
</body></html>
